//crawl.js
const recorderManager = wx.getRecorderManager()
var uploadImage = require('../../utils/uploadFile.js');

Page({
  data: {
    tempImgPaths: [],
    hiddenmodalput: true,   // 控制弹窗显示隐藏
    mycontent: '',
    textareaVal: '',        // textarea的文本值
    hiddenmodalput: true, //弹框隐藏
    Focus: false,
    is_clock: false
  },
  onLoad: function () {

  },
  upload: function () {
    var that = this;
    wx.chooseImage({
      count: 9, // 默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
      success: res => {
        // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
        var tempFilePaths = res.tempFilePaths;
        //支持多图上传
        for (var i = 0; i < res.tempFilePaths.length; i++) {
          //显示消息提示框
          wx.showLoading({
            title: '上传中' + (i + 1) + '/' + res.tempFilePaths.length,
            mask: true
          })
          //上传图片
          //你的域名下的/cbb文件下的/当前年月日文件下的/图片.png
          //图片路径可自行修改
          uploadImage(res.tempFilePaths[i],
            function (result) {
              console.log("======上传成功图片地址为：", result, that.data.tempImgPaths);
              var tempImgPaths = that.data.tempImgPaths.concat([result]);
              that.setData({
                tempImgPaths: tempImgPaths
              })
              wx.hideLoading();
            }, function (result) {
              console.log("======上传失败======", result);
              wx.hideLoading()
            }
          )
        }
      }
    })
  },
  listenerButtonPreviewImage: function (e) {
    let index = e.target.dataset.index;//预览图片的编号
    let that = this;
    wx.previewImage({
      current: that.data.tempImgPaths[index],//预览图片链接
      urls: that.data.tempImgPaths,//图片预览list列表
      success: function (res) {
        //console.log(res);
      },
      fail: function () {
        //console.log('fail')
      }
    })
  },
  //聚焦的时候
  isfouce: function () {
    this.setData({
      hiddenmodalput: false,
      Focus: true
    })
  },
  //失去焦点的时候，隐藏textarea，给view赋值内容，通过中间变量，在textarea隐藏的时候再赋值。
  getout(e) {
    this.setData({
      hiddenmodalput: true,
      // Focus: true,
      textareaVal: this.data.mycontent,
    })
    console.log('失去焦点了', this.data.mycontent)

  },
  //textarea显示的时候，获取他的内容
  textarea: function (e) {
    this.setData({
      mycontent: e.detail.value
    })
  },
  

  //录音播放
  // 触摸录音
  handleRecordStart: function (e) {
    this.setData({
      is_clock: true,//长按时应设置为true，为可发送状态
      startPoint: e.touches[0],//记录触摸点的坐标信息
    })
    //设置录音参数
    const options = {
      duration: 10000,
      sampleRate: 16000,
      numberOfChannels: 1,
      encodeBitRate: 48000,
      format: 'mp3'
    }
    //开始录音
    recorderManager.start(options);
  },
  handleRecordStop: function (e) {
    recorderManager.stop()//结束录音
    //此时先判断是否需要发送录音
    if (this.data.is_clock == true) {
      var that = this
      //对停止录音进行监控
      recorderManager.onStop((res) => {
        //对录音时长进行判断，少于2s的不进行发送，并做出提示
        if (res.duration < 2000) {
          wx.showToast({
            title: '录音时间太短，请长按录音',
            icon: 'none',
            duration: 1000
          })
        } else {
          console.log('ress',res)
          //进行语音发送
          const {
            tempFilePath
          } = res;
          wx.showLoading({
            title: '语音检索中',
          })
          //上传录制的音频
          // wx.uploadFile({
          //   url: requestUrl + 'Rubbish/uploadVoices',
          //   filePath: tempFilePath,
          //   name: 'voice',
          //   success: function (event) {
          //     var datas = JSON.parse(event.data);
          //     if (datas.status == 0) {
          //       wx.hideLoading()
          //       if (datas.result) {
          //         that.setData({
          //           detail: datas.result.list
          //         })
          //       } else {
          //         wx.showToast({
          //           title: '如此聪明伶俐的我居然会词穷，我要喊我父亲大人送我去深造~',
          //           icon: 'none',
          //           duration: 2000
          //         })
          //       }
          //     } else {
          //       wx.showToast({
          //         title: datas.msg,
          //         icon: 'none',
          //         duration: 2000
          //       })
          //     }
          //   }
          // })
        }
      })
    }
  },
  handleTouchMove: function (e) {
    //计算距离，当滑动的垂直距离大于25时，则取消发送语音
    if (Math.abs(e.touches[e.touches.length - 1].clientY - this.data.startPoint.clientY) > 25) {
      this.setData({
        is_clock: false//设置为不发送语音
      })
    }
  }
})